﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Basicas;
using ProjetoJornada_DAL;
using ProjetoJornada_DAL.Repositorio;
using Basicas.Utils;

namespace ProjetoJornada_Negocios.Negocio
{
    public class NegocioFormaPagamento
    {

        #region Atributo
        private RepFormaPagamento repFormaPagamento;
        #endregion

        #region Construtor
        public NegocioFormaPagamento()
        {
            this.repFormaPagamento = new RepFormaPagamento();
        }
        #endregion

        #region Metodos
        public Int32 Inserir(FormaPagamento formaPagamento)
        {
            try
            {
                 return this.repFormaPagamento.Inserir(formaPagamento);
            }
            catch (Exception ex)
            {
                Auxiliar.GravaLog(ex.Message, "inserirFormaPagamento");
                throw ex;
            }
        }

        public Boolean Remover(int id)
        {
            try
            {
                return this.repFormaPagamento.Remover(id);
            }
            catch(Exception ex)
            {
                Auxiliar.GravaLog(ex.Message, "removerFormaPagamento - Negocio");
                throw ex;
            }
        }

        public Boolean Editar(FormaPagamento formaPagamento)
        {
            try
            {
                return this.repFormaPagamento.Editar(formaPagamento);
            }
            catch (Exception ex)
            {
                Auxiliar.GravaLog(ex.Message, "editarFormaPagamento - Negocio");
                throw ex;
            }
         }

        public FormaPagamento ConsultarFormaPagamentoPorId(int id)
        {
            try
            {
                return repFormaPagamento.ConsultarFormaPagamentoPorId(id);
            }
            catch(Exception ex)
            {
                Auxiliar.GravaLog(ex.Message, "ConsultarFormaPagamentoPorId - Negócio");
                throw ex;
            }
        }

        public List<FormaPagamento> GetTodasFormasPagamento()
        {
            try
            {
                return this.repFormaPagamento.GetTodasFormasPagamento();
            }
            catch (Exception ex)
            {
                Auxiliar.GravaLog(ex.Message, "GetTodasAsFormasDePagamento - Negocio");
                throw ex;
            }
        
        }
        #endregion

    }
}
